对二维或三维散点数据插值 您所在的位置:网站首页 matlab griddata函数用法 对二维或三维散点数据插值

对二维或三维散点数据插值

2023-05-16 22:06| 来源: 网络整理| 查看: 265

打开实时脚本

使用 groupsummary 消除重复的采样点,并在调用 scatteredInterpolant 之前控制其合并方式。

创建一个由采样点位置组成的 200×3 矩阵。在最后五行添加重复的点。

P = -2.5 + 5*rand(200,3); P(197:200,:) = repmat(P(196,:),4,1);

创建一个由采样点上的随机值组成的向量。

V = rand(size(P,1),1);

如果您尝试对重复采样点使用 scatteredInterpolant,它会引发警告,并对 V 中的对应值求平均值以产生一个唯一点。但您可以在创建插值之前使用 groupsummary 来消除重复点。如果要使用求平均值以外的方法合并重复点,此操作尤其有用。

使用 groupsummary 消除重复采样点,并在重复采样点位置保留 V 中的最大值。指定采样点矩阵作为分组变量,指定对应值作为数据。

[V_unique,P_unique] = groupsummary(V,P,@max);

由于分组变量有三列,groupsummary 以元胞数组形式返回唯一组 P_unique。将元胞数组转换回矩阵。

P_unique = [P_unique{:}];

创建插值。由于采样点现在是唯一的,scatteredInterpolant 不会发出警告。

I = scatteredInterpolant(P_unique,V_unique);


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有